var mydate = new Date();
var year = mydate.getFullYear();
var mes = mydate.getMonth();
var dia = mydate.getDate();
jQuery(function($) {
    $.datepicker.regional['es'] = {
        closeText: 'Cerrar',
        prevText: '&#x3c;Ant',
        nextText: 'Sig&#x3e;',
        currentText: 'Hoy',
        monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
        monthNamesShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
        dayNames: ['Domingo', 'Lunes', 'Martes', 'Mi&eacute;rcoles', 'Jueves', 'Viernes', 'S&aacute;bado'],
        dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mi&eacute;', 'Juv', 'Vie', 'S&aacute;b'],
        dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'S&aacute;'],
        weekHeader: 'Sm',
        dateFormat: 'dd/mm/yy',
        firstDay: 1,
        isRTL: false,
        showMonthAfterYear: false,
        yearSuffix: '',
        showAnim: 'slide',
        yearRange: '1900:'+(year + 10),
        autoSize: true,
        changeYear: true,
        changeMonth: true
    };
    $.datepicker.setDefaults($.datepicker.regional['es']);
    
    $.easing.elasout = function(x, t, b, c, d) {
            var s=1.70158;var p=0;var a=c;
            if (t==0) return b;if ((t/=d)==1) return b+c;if (!p) p=d*.3;
            if (a < Math.abs(c)) {a=c;s=p/4;}
            else s = p/(2*Math.PI) * Math.asin (c/a);
            return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
    };

});

$.metadata.setType("attr", "validate");

$(function() {    
    carga_attributos();
    
    $(".requiredMult").parent("div").parent("div").children(".label").children("label").append("<span class='required'>*</span>");
    $(".requiredMult").parent("div").children(".label").children("label").append("<span class='required'>*</span>");
    
    $(".validate").each(function() {
        $(this).validate({
            submitHandler: function(form) {
                    if (valida_multiples_ninguno($(form).attr("id"))) Guardar($(form).attr("id"));
            }
        });
    });
    $(".upprogress, .dialog-message").hide();
    $(".top-form").click(function(){
        $("body").scrollTo( 200, 1300, {queue:true});
    });
    
    habilita_tabs();
    $( "#tabs" ).tabs().find(".ui-tabs-nav").sortable({axis: "x"});
    
    $('.acordion').accordion({
        change: function(event, ui) {
            var newIndex = $(ui.newHeader).index('h3');
            if (newIndex != -1) {
                if ($.inArray(newIndex, habilita_acordiones()) == -1) {
                    var oldIndex = $(ui.oldHeader).index('h3');
                    var IndexAct = $(this).accordion("option", "active");
                    $(this).accordion("activate", oldIndex);
                    Alert_Ui('Modulo no habilitado', 'Por favor guarde el modulo ' + $("#" + $(this).parent("div").attr("id") + " h3").eq(IndexAct - 1).find("a").text() + ' y continue');
                }
            }
        },
        changestart: function() { 
            $("body").scrollTo( 200, 1300, {queue:true});
        }
    });
});

function carga_attributos(inicial){
    $(".add_input, .eliminarmadicional").button();
    $(".add_input").attr("src", "images/1329183867_stock_save.png");
    $(".eliminarmadicional").attr("src", "images/1329183912_button_cancel.png");
    
    if (inicial == null){
        $("#tabs").tabs();

        $(".acordion").accordion({
            navigation: true,
            autoHeight: false,
            animated: 'bounceslide',
            fillSpace: false,
            collapsible: true
        });
    }
    
    $(".Ccombo").attr("data-placeholder", "Seleccione...");
    
    $(".Ccombo").chosen({
        allow_single_deselect: true
    });
    
    $(".Ccombo").show().addClass("hidden-field");
    
    $(".Cnumero").each(function() {
        var mascara = "";
        if (!isNaN($(this).attr("maxlength"))) {
            for (i = 0; i < $(this).attr("maxlength"); i++) {
                mascara = mascara + "9";
            }
            $(this).css("width", (i * 16) + "px");
            $(this).setMask({
                mask: mascara,
                setSize: false,
                autoTab: false
            });
        }
    });

    $(".Cfecha").setMask({
        mask: '39/19/9999'
    });
    
    $(".Cfecha").datepicker({
        changeYear: true,
        changeMonth: true
    });
}

function carga_municipios(idmuni, filtro) {
    if (filtro != "") {
        $.ajax({
            url: "index.php?r=encuestasrespuestas/cargamunicipios",
            async: false,
            data: {id : filtro},
            success: function(result) {
                $("#" + idmuni).html('');
                if (result != "") $("#" + idmuni).append(result);
                $("#" + idmuni).trigger("liszt:updated");
            },
            beforeSend: function() {
                $(".upprogress").show();
            },
            error: function(result) {
                Alert_Ui("Error ", result.status + ' ' + result.statusText);
            }
        });
        $(".upprogress").hide();
    } else {
        $("#" + idmuni).html('');
    }
}

function Guardar(nameform) {
    var temp = "";
    $("#" + nameform + " .dinamic").each(function() {
        if ($(this).val() != null && $(this).attr("fielddiv") == null) {
            temp = temp + $(this).attr("tipo") + "|" + $(this).attr("aliasid") + "|" + $.trim($(this).val()) + "°";
        } else if ($(this).attr("fielddiv") == "true") {
            temp = temp + qry_div($(this).attr("id"));
        }
    });
    $.ajax({
        url: "index.php?r=encuestasrespuestas/guardarmodulos",
        async: false,
        data: {id: temp , enr: $("#ecr_id").val(), mod : $("#"+nameform).attr("modulo")},
        success: function(result) {
            Alert_Ui('Guardar Modulo', result);
            if (result == "Guardado Correctamente") {
                actualiza_datos(nameform);
                $("#"+ nameform + " input" ).removeClass("error");
            }
            habilita_tabs();
        },
        beforeSend: function() {
            $(".upprogress").show();
        },
        error: function(result) {
            Alert_Ui("Error", result.status + ' ' + result.statusText);
        }
    });
    $(".upprogress").hide();
    return false;
}

function Limpiar_Campos(nameform) {
    $("#" + nameform + " .dinamicMult").each(function() {
        if ($(this).val() != null && $(this).attr("fielddiv") == null) $(this).val("");
        else if ($(this).attr("fielddiv") == "true") limpiar_div($(this).attr("id"));
    });
}

function limpiar_div(DivId) {
    $("#" + DivId).children(".checked").each(function() {
        if ($(this).children("input").first().is(':checked')) $(this).children("input").removeAttr("checked");
    });
    $("#" + DivId).children(".radio").each(function() {
        if ($(this).children("input").is(':checked')) $(this).children("input").removeAttr("checked");
    });
    $("#" + DivId).children(".radiotabla").each(function() {
        if ($(this).children("input").is(':checked')) $(this).children("input").removeAttr("checked");
    });
}

function actualiza_datos(nameform) {
    $("#" + nameform + " .dinamic").each(function() {
        if ($(this).attr("fielddiv") == null) 
            $(this).attr("tipo", "U");
        else if ($(this).attr("fielddiv") == "true")
        if (qry_div($(this).attr("id")) != "") 
            $(this).attr("tipo", "U");
    });
}

function qry_div(DivId) {
    var temp = "";
    $("#" + DivId).children(".checked").each(function() {
        if ($(this).children("input").first().is(':checked')) temp = temp + $(this).children("input").val() + ",";
    });
    $("#" + DivId).children(".radio").each(function() {
        if ($(this).children("input").is(':checked')) temp = $(this).children("input").val();
    });
    $("#" + DivId).children(".radiotabla").each(function() {
        if ($(this).children("input").is(':checked')) temp = $(this).children("input").val();
    });
    temp = $("#" + DivId).attr("tipo") + "|" + $("#" + DivId).attr("aliasid") + "|" + temp + "°";
    return temp;
}

function Guardar_Multiples_Adiccional(nameform, grupo, registro) {
    var temp = "";
    var band = true;
    if( $("#registro_add_" + registro + "-" + grupo + " .dinamicmultadd.error").length > 0 ){
        Alert_Ui('Guardar Modulo', 'Verifique la información a ingresar');
        return false;
    }
    $("#" + nameform + " .requiredMult").each(function() {
        if ($(this).attr("fielddiv") == null){
            if ($(this).val() == "") {
                band = false;
            }
        }else{
            if($("#"+$(this).attr("id")+" input:checked").length==0){
                band = false;
            }
        }
    });
    if (band==false){
        Alert_Ui('Guardar Modulo', 'Verifique campos obligatorios!!')
        return false;
    }
    $("#" + nameform + " .dinamicmultadd").each(function() {
        if ($(this).val() != null && $(this).attr("fielddiv") == null) {
            temp = temp + $(this).attr("tipo") + "|" + $(this).attr("aliasid") + "|" + $.trim($(this).val()) + "°";
        } else if ($(this).attr("fielddiv") == "true") temp = temp + qry_div($(this).attr("id"));
    });
    if (temp != "") {
        if (registro == 0) {
            if (!confirm("Desea agregar este registro?")) 
                return false;
        }
        $.ajax({
            url: "index.php?r=encuestasrespuestas/guardarmodulosmultiples",
            async: false,
            data: {reg:registro, enr:$("#ecr_id").val(), grp: grupo, id:temp},
            success: function(result) {
                Alert_Ui('Guardar', result);
                if (registro == 0 && result == "Guardado Correctamente") 
                    ajax_div(grupo, $("#ecr_id").val(),$("#enc_id").val());
            },
            beforeSend: function() {
                $(".upprogress").show();
            },
            error: function(result) {
                Alert_Ui("Error", result.status + ' ' + result.statusText);
            }
        });
        $(".upprogress").hide();

    } else 
        Alert_Ui('Guardar Modulo', 'No hay nada que guardar!!');

    return false;
}

function ajax_div(grupo, enr, enc) {
    $.ajax({
        url: "index.php?r=encuestasrespuestas/consultaformulariosgrupos",
        async: false,
        data: "grp=" + grupo + "&enr=" + enr + "&enc=" + enc,
        success: function(result) {
            $(".multiple_grp_" + grupo).empty();
            $(".multiple_grp_" + grupo).hide().append(result).show("slow");
            carga_attributos(1);
            $('select[id^="id_alias_campo_35-"]').each(function(){
               ajax_mult_1(this,"index");
            });
            $('select[id^="id_alias_campo_1829"]').each(function(){
               ajax_mult_1_2(this,"index");
            });
            $('select[id^="id_alias_campo_41-"]').each(function(){
               ajax_mult_2(this,"index");
            });
            $('select[id^="id_alias_campo_1830"]').each(function(){
               ajax_mult_2_2(this,"index");
            });
        },
        beforeSend: function() {
            $(".upprogress").show();
        },
        error: function(result) {
            Alert_Ui("Error", result.status + ' ' + result.statusText);
        }
    });
    $(".upprogress").hide();
}

function Eliminar_Multiples_Adiccional(grupo, registro) {
    var temp = "";
    temp = "enr=" + $("#ecr_id").val() + "&grp=" + grupo + "&reg=" + registro;
    $.ajax({
        url: "index.php?r=encuestasrespuestas/eliminarmodulosmultiples",
        async: false,
        data: temp,
        success: function(result) {
            if (result == "Eliminado Correctamente") {
                $("#registro_add_" + registro + "-" + grupo).fadeOut("slow", function() {
                    $(this).remove();
                });
                //$("#registro_add_" + registro + "-" + grupo).remove();
            } else Alert_Ui('Error al eliminar', result);
        },
        beforeSend: function() {
            $(".upprogress").show();
        },
        error: function(result) {
            Alert_Ui("Error", result.status + ' ' + result.statusText);
        }
    });
    $(".upprogress").hide();
    return false;
}

function Alert_Ui(titulo, contenido) {
    $(".dialog-message").show();
    $(".dialog-message .dialog-content").html(contenido)
    $(".dialog-message").dialog({
        modal: true,
        resizable: true,
        draggable: true,
        stack: false,
        title: titulo,
        maxHeight: 400,
        maxWidth: 600,
        show: 'slide',
	hide: "explode",
        closeText: 'Cerrar',
        buttons: {
            Cerrar: function() {
                $(this).dialog("close");
            }
        },
        close: function() {
            $(".dialog-message").hide();
            $(".dialog-message .dialog-content").empty();
        }
    });
}